package com.xh.bussiness.thirdapi.xiaoguanjia.controller;

import com.xh.bussiness.thirdapi.xiaoguanjia.bean.request.XgjBaseRequest;
import com.xh.bussiness.thirdapi.xiaoguanjia.service.IXiaoGuanJiaService;
import com.xh.core.annotation.ExcludeLoginTokenIntercept;
import com.xh.core.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/xgjApi")
public class XiaoGuanJiaApiController {

    @Autowired
    private IXiaoGuanJiaService xiaoGuanJiaService;

    /**
     * 同步教师信息
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncTeacher")
    public String syncTeacher(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importTeacher(bean);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步班级信息
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncClass")
    public String syncClass(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importClass(bean, false, false);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步班级教师id
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncSchool")
    public String syncSchool(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importSchool(bean);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步班级教师id
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncClassTeacher")
    public String syncClassTeacher(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importClassTeacher(bean);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步学生信息
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncStudent")
    public String syncStudent(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importStudent(bean);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步学生班级关系
     *
     * @param bean
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncClassStudents")
    public String syncClassStudents(XgjBaseRequest bean) {
        // 从2000年1月1日之后的数据
        if(StringUtils.isEmpty(bean.getUpdatetime())){
            bean.setUpdatetime("20000101");
        }
        try {
            xiaoGuanJiaService.importClassStudents(bean);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }

    /**
     * 同步学生班级关系
     *
     * @param id
     * @return
     */
    @ExcludeLoginTokenIntercept
    @RequestMapping("/syncClassStudentsById")
    public String syncClassStudentsById(String id) {
        try {
            xiaoGuanJiaService.syncClassStudentsById(id);
            return "同步成功!";
        } catch (Exception e) {
            e.printStackTrace();
            return "同步失败";
        }
    }
}
